package com.boarsoft.flow.core.bean;

/**
 * 输入输出参数转换器
 * 
 * @author Mac_J
 *
 */
public interface WrapHandler {
	/**
	 * 用于在进入子流程或处理节点之前处理数据，将数据转成子流程或处理节点所需要的格式<br>
	 * 即从当前流程参数获取数据，以便传入当前节点
	 * 
	 * @param entry
	 *            父级流程的ID 或 处理节点的entry值
	 * @param currData
	 *            流程当前的数据（非flow.data）
	 * @return nodeData
	 */
	Object checkIn(String entry, Object currData);

	/**
	 * 用于在退出子流程或处理节点之前处理数据，将数据转成父流程或当前流程需要的格式<br>
	 * 即将当前节点的输出合并到当前流程中
	 * 
	 * @param nodeData
	 *            当前节点的输出（）
	 * @param currData
	 *            进入当前节点前，流程当前的数据（非flow.data）
	 * @return flowData
	 */
	Object checkOut(Object nodeData, Object currData);
}
